package com.glsc.ngateway.common.api.oaflow.dto.xirtrade;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.SuperBuilder;
import org.springframework.data.annotation.Transient;

import java.math.BigDecimal;
import java.util.List;

/**
 * oa同步自研网关记录实体类
 * @author xuchang
 */
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
public class TOaFlowXirTradeInfoZJYYBDto extends TOaFlowXirTradeBaseInfoDto {

    private static final long serialVersionUID = -3264094474527903316L;


    /**
     * 划款说明
     */
    @Transient
    private String hksm;
    /**
     * 融资工具
     */
    @Transient
    private Integer zwrzgj;

    @Transient
    private List<TOaFlowXirTradeInfoDetailZJYYBDto> detailList;


    /**
     * 流程触发源，选oa网关，会多一个节点至发起人确认
     */
    @Transient
    @Builder.Default
    private  Integer lccfy = 0;
    /**
     * 收款人
     */
    @Transient
    @Builder.Default
    private  Integer skr = 7;
    /**
     * 收款银行账户
     */
    @Transient
    @Builder.Default
    private  Integer skyhzh = 7;
    /**
     * 收款银行名称
     */
    @Transient
    @Builder.Default
    private  Integer skyhmc = 7;
    /**
     * 划款备注
     */
    @Transient
    @Builder.Default
    private  Integer hkbz = 12;
    /**
     * 业务类型
     */
    @Transient
    @Builder.Default
    private  Integer ywlx = 10;

    /**
     * 需求内容
     */
    @Transient
    private String xqnr;

    /**
     * 交易对手类型
     */
    @Transient
    private String jydslx;

    /**
     * oa同步自研网关记录实体类
     * @author xuchang
     */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @Builder
    public static class TOaFlowXirTradeInfoDetailZJYYBDto {

        @Transient
        @Builder.Default
        private Integer detailIndex = 1;

        @ApiModelProperty(value = "对手方名称")
        private String czf;

        @ApiModelProperty(value = "选项")
        private Integer xx;

        @ApiModelProperty(value = "金额")
        private BigDecimal rrje;

        @ApiModelProperty(value = "日期")
        private String rrrq;

        @ApiModelProperty(value = "借贷期限（天数）")
        private Integer rrqx;

        @ApiModelProperty(value = "借贷费率（如：0.23%）")
        private String ll;

        @ApiModelProperty(value = "本息")
        private String bx;
    }
}
